package com.zhilei.service;

import com.zhilei.pojo.DataDictionary;
import com.zhilei.pojo.bo.DataDictionaryBO;
import com.zhilei.pojo.vo.DataDictionaryVO;
import com.zhilei.untils.PagedGridResult;

import java.util.List;

/**
 * <p>
 * 数据字典表 服务类
 * </p>
 *
 * @author 志磊
 * @since 2024-09-22
 */
public interface DataDictionaryService {

    /**
     * 创建数据字典
     *
     * @param dataDictionaryBO
     */
    void createDataDict(DataDictionaryBO dataDictionaryBO);

    /**
     * 删除数据字典
     *
     * @param dictId
     */
    void deleteDataDictById(String dictId);

    /**
     * 修改数据字典
     *
     * @param dataDictionaryBO
     */
    void modifyDataDict(DataDictionaryBO dataDictionaryBO);

    /**
     * 分页查询数据字典可以模糊查询
     *
     * @param typeName
     * @param itemValue
     * @param page
     * @param limit
     * @return
     */
    PagedGridResult getDataDictList(String typeName, String itemValue, Integer page, Integer limit);

    /**
     * 根据字典的code返回数据列表
     *
     * @param typeCode
     * @return
     */
    List<DataDictionaryVO> getDataByCode(String typeCode);

    DataDictionaryVO getModifyDataDictById(String dictId);

    /**
     * 查询数据字典内用并进行返回
     *
     * @param benefits
     * @return
     */
    List<DataDictionary> getItemsByKeys(String... benefits);
}
